HAL USART macro migration ¶
This section provides information about the HAL USART macro migration.
Note
The following USART macros have been transitioned to inline functions, enhancing efficiency and type safety.
Related concept: Removal of hardware-related macros in HAL2.
HAL USART enable/disable ¶
|
HAL1 |
HAL2 |
|---|---|
#define __HAL_USART_ENABLE(__HANDLE__)
#define __HAL_USART_DISABLE(__HANDLE__)
|
__STATIC_INLINE void LL_USART_Enable(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_Disable(USART_TypeDef *p_usart)
|
HAL USART get flag/interrupt ¶
|
HAL1 |
HAL2 |
|---|---|
#define __HAL_USART_GET_IT(__HANDLE__, __INTERRUPT__)
/*OR*/
#define __HAL_USART_GET_FLAG(__HANDLE__, __FLAG__)
|
__STATIC_INLINE uint32_t LL_USART_IsActiveFlag(const USART_TypeDef *p_usart, uint32_t mask)
|
HAL USART one bit sample enable/disable macro ¶
|
HAL1 |
HAL2 |
|---|---|
#define __HAL_USART_ONE_BIT_SAMPLE_DISABLE(__HANDLE__, __INTERRUPT__)
#define __HAL_USART_ONE_BIT_SAMPLE_ENABLE(__HANDLE__, __FLAG__)
|
Removed in HAL2 and replaced by the static inline functions: __STATIC_INLINE void LL_USART_DisableOneBitSample(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_EnableOneBitSample(USART_TypeDef *p_usart)
|
General HAL USART clear flags ¶
|
HAL1 |
HAL2 |
|---|---|
#define __HAL_USART_CLEAR_FLAG(__HANDLE__, __FLAG__)
/* OR */
#define __HAL_USART_CLEAR_IT(__HANDLE__, __IT_CLEAR__)
|
__STATIC_INLINE void LL_USART_ClearFlag(USART_TypeDef *p_usart, uint32_t mask)
|
Specific HAL USART clear flags ¶
|
HAL1 |
HAL2 |
|---|---|
#define __HAL_USART_CLEAR_PEFLAG(__HANDLE__)
#define __HAL_USART_CLEAR_FEFLAG(__HANDLE__)
#define __HAL_USART_CLEAR_NEFLAG(__HANDLE__)
#define __HAL_USART_CLEAR_OREFLAG(__HANDLE__)
#define __HAL_USART_CLEAR_IDLEFLAG(__HANDLE__)
#define __HAL_USART_CLEAR_TXFECF(__HANDLE__)
#define __HAL_USART_CLEAR_UDRFLAG(__HANDLE__)
|
__STATIC_INLINE void LL_USART_ClearFlag_PE(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_ClearFlag_FE(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_ClearFlag_NE(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_ClearFlag_ORE(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_ClearFlag_IDLE(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_ClearFlag_TXFE(USART_TypeDef *p_usart)
__STATIC_INLINE void LL_USART_ClearFlag_UDR(USART_TypeDef *p_usart)
|
HAL USART get interrupt source ¶
|
HAL1 |
HAL2 |
|---|---|
#define __HAL_USART_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)
|
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_IDLE(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RXNE_RXFNE(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TC(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TXE_TXFNF(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_PE(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_CM(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RTO(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_EOB(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TXFE(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RXFF(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_LBD(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_ERROR(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_CTS(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_WKUP(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TXFT(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_TCBGT(const USART_TypeDef *p_usart)
__STATIC_INLINE uint32_t LL_USART_IsEnabledIT_RXFT(const USART_TypeDef *p_usart)
|
HAL USART enable interrupt ¶
In HAL2, this macro is transitioned to equivalent static inline functions in the LL (Low Layer) to enable interrupts through the control registers CR1, CR2, and CR3, each of which contains a specific set of interrupts.
|
HAL1 |
HAL2 |
|---|---|
#define __HAL_USART_ENABLE_IT(__HANDLE__, __INTERRUPT__)
|
__STATIC_INLINE void LL_USART_EnableIT_CR1(USART_TypeDef *p_usart, uint32_t mask)
__STATIC_INLINE void LL_USART_EnableIT_CR2(USART_TypeDef *p_usart, uint32_t mask)
__STATIC_INLINE void LL_USART_EnableIT_CR3(USART_TypeDef *p_usart, uint32_t mask)
|
HAL USART disable interrupt ¶
In HAL2, this macro is transitioned to equivalent static inline functions in the LL (Low Layer) to disable interrupts via the control registers CR1, CR2, and CR3, each of which contains a specific set of interrupts.
|
HAL1 |
HAL2 |
|---|---|
#define __HAL_USART_DISABLE_IT(__HANDLE__, __INTERRUPT__)
|
__STATIC_INLINE void LL_USART_DisableIT_CR1(USART_TypeDef *p_usart, uint32_t mask)
__STATIC_INLINE void LL_USART_DisableIT_CR2(USART_TypeDef *p_usart, uint32_t mask)
__STATIC_INLINE void LL_USART_DisableIT_CR3(USART_TypeDef *p_usart, uint32_t mask)
|
HAL USART send request ¶
|
HAL1 |
HAL2 |
|---|---|
#define __HAL_USART_SEND_REQ(__HANDLE__, __REQ__)
|
HAL_USART_SendRequest(hal_usart_handle_t *husart, hal_uart_request_t request)
|
HAL USART reset handle state ¶
|
HAL1 |
HAL2 |
|---|---|
#define __HAL_USART_RESET_HANDLE_STATE(__HANDLE__)
|
Removed ( Use
|